var prefix = "/user"
$(function() {
	load();//加载数据
});
function add(){
	layui.use("layer",function(){
		var layer=layui.layer;
		layer.open({
			type : 2,
			title : '添加',
			maxmin : true,
			shadeClose : false, // 点击遮罩关闭层
			area : [ '600px', '520px' ],
			content : prefix + '/adduser',// 
			end: function(){
				$('#exampleTable').bootstrapTable('refresh');//刷新table
			}
		});
	})
}
function edit(id) {
	layui.use("layer",function(){
		var layer=layui.layer;
		layer.open({
			type : 2,
			title : '编辑',
			maxmin : true,
			shadeClose : false, // 点击遮罩关闭层
			area : [ '600px', '520px' ],
			content : prefix + '/edituser?id=' + id // iframe的url
		});
	})
}

function load(){
	
	$('#exampleTable')
	.bootstrapTable(
		{
			method : 'get', // 服务器数据的请求方式 get or post
			url : prefix + "/userlist", // 服务器数据的加载地址
			//	showRefresh : true,
			//	showToggle : true,
			//	showColumns : true,
			iconSize : 'outline',
			toolbar : '#exampleToolbar',
			striped : true, // 设置为true会有隔行变色效果
			dataType : "json", // 服务器返回的数据类型
			pagination : true, // 设置为true会在底部显示分页条
			// queryParamsType : "limit",
			// //设置为limit则会发送符合RESTFull格式的参数
			singleSelect : false, // 设置为true将禁止多选
			// contentType : "application/x-www-form-urlencoded",
			// //发送到服务器的数据编码类型
			pageSize : 5, // 如果设置了分页，每页数据条数
			pageNumber : 1, // 如果设置了分布，首页页码
			//search : true, // 是否显示搜索框
			showColumns : false, // 是否显示内容下拉框（选择显示的列）
			sidePagination : "server", // 设置在哪里进行分页，可选值为"client" 或者 "server"
			queryParams : function(params) {
				return {
					//说明：传入后台的参数包括offset开始索引，limit步长，sort排序列，order：desc或者,以及所有列的键值对
					limit : params.limit,
					offset : params.offset
				};
			},
			// //请求服务器数据时，你可以通过重写参数的方式添加一些额外的参数，例如 toolbar 中的参数 如果
			// queryParamsType = 'limit' ,返回参数必须包含
			// limit, offset, search, sort, order 否则, 需要包含:
			// pageSize, pageNumber, searchText, sortName,
			// sortOrder.
			// 返回false将会终止请求
			columns : [
				{
					checkbox : true
				},
				{
					field : 'id',
					title : '编号'
				},
				{
					field : 'name',
					title : '姓名'
				},{
					field : 'userName',
					title : '用户名'
				},
				{
					field : 'email',
					title : '邮箱'
				},
				{
					title : '操作',
					field : 'id',
					align : 'center',
					formatter : function(value, row, index) {
						var e = '<a class="btn btn-primary btn-sm" href="javascript:void(0);" title="编辑" onclick="edit(\''
							+ row.id
							+ '\')">编辑</a> ';
						var d = '<a class="btn btn-danger btn-sm" href="javascript:void(0);" title="删除"  onclick="remove(\''
							+ row.id
							+ '\')">删除</a> ';
						return e + d;
					}
				} ]
		});
	
	/*$('#exampleTable').bootstrapTable({
		method : 'GET', // 服务器数据的请求方式 get or post
		url : prefix + "/userlist", // 服务器数据的加载地址
		//	showRefresh : true,
		//	showToggle : true,
		//	showColumns : true,
		iconSize : 'outline',
		toolbar : '#exampleToolbar',
		striped : true, // 设置为true会有隔行变色效果
		dataType : "json", // 服务器返回的数据类型
		//pagination : true, // 设置为true会在底部显示分页条
		// queryParamsType : "limit",
		// //设置为limit则会发送符合RESTFull格式的参数
		singleSelect : false, // 设置为true将禁止多选
		// contentType : "application/x-www-form-urlencoded",
		// //发送到服务器的数据编码类型
		pageSize : 10, // 如果设置了分页，每页数据条数
		pageNumber : 1, // 如果设置了分布，首页页码
		//search : true, // 是否显示搜索框
		showColumns : false, // 是否显示内容下拉框（选择显示的列）
		sidePagination : "server", // 设置在哪里进行分页，可选值为"client" 或者 "server"
		queryParams : function(params) {
			return {
				//说明：传入后台的参数包括offset开始索引，limit步长，sort排序列，order：desc或者,以及所有列的键值对
				token : getCookie('token')
			};
		},
		// //请求服务器数据时，你可以通过重写参数的方式添加一些额外的参数，例如 toolbar 中的参数 如果
		// queryParamsType = 'limit' ,返回参数必须包含
		// limit, offset, search, sort, order 否则, 需要包含:
		// pageSize, pageNumber, searchText, sortName,
		// sortOrder.
		// 返回false将会终止请求
		columns : [
		{
			checkbox : true
		},
		{
			field : 'id',
			title : '编号'
		},
		{
			field : 'name',
			title : '姓名'
		},{
			field : 'userName',
			title : '用户名'
		},
		{
			field : 'email',
			title : '邮箱'
		},
		{
			title : '操作',
			field : 'id',
			align : 'center',
			formatter : function(value, row, index) {
				var e = '<a class="btn btn-primary btn-sm" href="javascript:void(0);" title="编辑" onclick="edit(\''
					+ row.id
					+ '\')">编辑</a> ';
				var d = '<a class="btn btn-danger btn-sm" href="javascript:void(0);" title="删除"  onclick="remove(\''
					+ row.id
					+ '\')">删除</a> ';
				return e + d;
			}
		} ]
	});*/
}
function remove(id) {
	layui.use("layer",function(){
		layer.confirm('确定要删除选中的记录？', {
			btn : [ '确定', '取消' ]
		}, function() {
			$.ajax({
				url : prefix + "/deleteUser",
				type : "post",
				data : {
					'ids' : id
				},
				success : function(r) {
					if (r.code == 0) {
						layer.msg(r.msg);
					} else {
						layer.msg(r.msg);
					}
					$('#exampleTable').bootstrapTable('refresh');//刷新table
				}
			});
		})
	})
}
function batchRemove() {
	layui.use("layer",function(){
	    var rows = $('#exampleTable').bootstrapTable('getSelections'); // 返回所有选择的行，当没有选择的记录时，返回一个空数组
		if (rows.length == 0) {
			layer.msg("请选择要删除的数据");
			return;
		}
		layer.confirm("确认要删除选中的'" + rows.length + "'条数据吗?", {
			btn : [ '确定', '取消' ]
		// 按钮
		}, function() {
			var ids = "";
			// 遍历所有选择的行数据，取每条数据对应的ID
			$.each(rows, function(i, row) {
				ids = row['id']+","+ids;
			});
			ids=ids.substr(0, ids.length - 1); 
			//var basic = "abc,def,ghi,";  
			//basic = basic.substr(0, basic.length - 1);  
			//console.log(basic);
			$.ajax({
				type : 'POST',
				data : {
					"ids" : ids
				},
				url : prefix + '/deleteUser',
				beforeSend: function(request) {
					request.setRequestHeader("token", getCookie('token'));//添加token
				},
				success : function(r) {
					if (r.code == 0) {
						layer.msg(r.msg);
					} else {
						layer.msg(r.msg);
					}
					$('#exampleTable').bootstrapTable('refresh');//刷新table
				}
			});
		}, function() {});
	})
}